﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ZaxLib.Collections
{
	public interface IDataGrid : IEnumerable
	{
		/// <summary>
		/// Set cell data in current row
		/// </summary>
		/// <param name="key">Element key in data structure</param>
		/// <param name="value">Value to store in key</param>
		void SetCell(String key, Object value);

		/// <summary>
		/// Add blank row to structure
		/// </summary>
		void AddRow();

		/// <summary>
		/// Add row of data to structure
		/// </summary>
		/// <param name="row"></param>
		void AddRow(Dictionary<String, Object> row);

		/// <summary>
		/// Get current row of data
		/// </summary>
		Dictionary<String, Object> Row
		{
			get;
		}

		/// <summary>
		/// Number of items in data structure
		/// </summary>
		int Count
		{
			get;
		}

		/// <summary>
		/// Current row index
		/// </summary>
		int Index
		{
			get;
		}
	}
}
